2024-06-29 Status in Windows Taskleiste signalisieren - StateClicker

Windows Taskleiste

StateClicker: Ein Icon in der Taskleiste, welches einem durch verschiedenen Farben etwas signalisieren kann. Durch Anklicken des Icons kann einen Befehl ausgeführt werden.
Example1 Example2 Example3 Example4 Example5 Example6


Download: StateClicker-bin-V1.0.1.zip
Download: StateClicker-src-V1.0.1.zip


Die StateClicker.exe sucht, im aktuellen Verzeichnis, immer nach einer StateClicker.ini. Die INI-Datei definiert welches Icon in der Taskleiste angezeigt wird, ob und welcher Befehl beim Parameterlosen starten der EXE ausgeführt werden soll, ob und welcher Befehl beim klicken des Taskleisten-Icons ausgeführt werden soll und ob und welcher Befehl beim beenden der EXE ausgeführt werden soll. Ist keine INI-Datei vorhanden, wird beim ausführen gefragt, ob sie angelegt werden soll.
MsgBox Frage ob ini-Datei angelegt werden soll.

Genauer gesagt, wird immer nach einer INI-Datei gesucht, die denselben Namen wie die EXE trägt. Dadurch können beliebige Konfigurationen vorgehalten werden.
Dateiliste

Dies sind die möglichen Optionen der INI-Datei. Alle Angaben sind Optional.
IconPath=
IconID=
OnStartupCmd=
OnSelectingCmd=
OnExitCmd=

IconPath: Pfad zu einer EXE-, ICO- oder DLL-Datei, um das dort enthaltene Icon zu verwenden.

IconID: Eine DLL kann mehrere Icons enthalten. Die ID gibt an welches Icon genau gemeint ist. (Mit EXE-Dateien funktioniert das leider nicht.)
Zum Beispiel:
Icons in shell32.dll
Test.ini
IconID=13

OnStartupCmd: Der Befehl der, von der ersten Instanz der StateClicker.exe, soweit dieser keine Parameter übergeben wurden, ausgeführt wird.

OnSelectingCmd: Der Befehl der, beim klicken auf das Taskleisten-Icon der laufenden StateClicker.exe-Instanz, ausgeführt wird.

OnExitCmd: Der Befehl der, beim Beenden der StateClicker.exe, ausgeführt wird.

Die StateClicker.exe kennt folgende Parameter:
start
select
exit
none
flash
wait
green [1 - 100]
yellow [1 - 100]
red [1 - 100]
link

start und select erzwingen das Ausführen der OnStartupCmd- bzw. OnSelectingCmd-Befehle.

exit beendet StateClicker.exe.

none entfernt vorhandene Farbmarkierungen bereits laufender Instanzen bzw. startet StateClicker.exe ohne OnStartupCmd auszuführen.

flash läßt den Taskleisten-Eintrag kurzzeitig orange blinken und leuchtet dann dauerhaft orange.
flash

wait zeigt eine pulsierend grüne Animation.
wait

green, yellow oder red markieren den Taskleisten-Eintrag in der entsprechenden Farbe.
green yellow red

Den Farben darf ein Zahlenwert von 1 bis 100 folgen, um die Markierung entsprechend nur Teilweise durchzuführen.
green 20 yellow 50 red 80

link erzeugt, unter Berücksichtigung der IconPath- und IconID-Angabe aus der INI-Datei, eine Verknüpfung auf StateClicker.exe. Diese ist dazu gedacht, per Drag and Drop in die Taskleiste gezogen zu werden, um damit die Icon-Position dauerhaft festzulegen.
Verknüpfung zur Taskbar hinzufügen


Anwendungsfall

Die Software habe ich für mich entworfen, nachdem ich mein Heimnetz überarbeitet hatte. Es besteht nun eine Trennung zwischen Anwender- und Administrationsnetz. Für Zugriff aufs Adminnetz brauche ich eine VPN-Verbindung. SateClicker zeigt mir einerseits den VPN-Status und läßt ihn mich andererseits durch einen einfachen Klick ändern.
VPN aus:VPN aus
VPN an:VPN an
Fehler:VPN Fehler

[Main]
IconPath=C:\Windows\system32\imageres.dll
IconID=171
OnStartupCmd=cmd /C rasdial | findstr tbapc.lan.aloof.de && StateClicker green || (StateClicker wait & rasdial tbapc.lan.aloof.de || StateClicker red)
OnSelectingCmd=cmd /C rasdial | findstr tbapc.lan.aloof.de && (StateClicker yellow & rasdial tbapc.lan.aloof.de /d) || (StateClicker wait & rasdial tbapc.lan.aloof.de || StateClicker red)
OnExitCmd=

Dank Reaktionen auf die Änderung des VPN-Zustands per Aufgabenplanung,
Windows Aufgabenplanung
wird auch dann der richtige Status angezeigt, wenn die VPN-Verbindung mit anderen Mitteln geändert wurde. Zum Beispiel:
Windows VPN-Verbindung


⍈Homepage

#